﻿//============================================================
//write by bxl at 2021-06-12 15:37:23
//============================================================

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.DataAnnotations;
using BCCommon.TMS.Order;

namespace BCDto.TMS.Order.Order
{
    /// <summary>
    /// 订单 数据模型
    /// </summary>
    public class OrderRequestDto
    {

        /// <summary>
        /// 订单编号
        /// </summary>            
        [Display(Name = "订单编号")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string OrderNo { get; set; }

        /// <summary>
        /// 运输订单Id
        /// </summary>            
        [Display(Name = "运输订单Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long TransportOrderId { get; set; }

        /// <summary>
        /// 运输订单编号
        /// </summary>            
        [Display(Name = "运输订单编号")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string TransportOrderNo { get; set; }

        /// <summary>
        /// 发货人Id
        /// </summary>            
        [Display(Name = "发货人Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long UserId { get; set; }

        /// <summary>
        /// 发货人姓名
        /// </summary>            
        [Display(Name = "发货人姓名")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string Shipping { get; set; }

        /// <summary>
        /// 发货人性别
        /// </summary>
        [Display(Name ="发货人姓名")]
        public ContacterGenderType ShippingGender { get; set; }

        /// <summary>
        /// 发货人电话
        /// </summary>            
        [Display(Name = "发货人电话")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ShippingPhone { get; set; }

        /// <summary>
        /// 发货人地址（货物地址）
        /// </summary>            
        [Display(Name = "发货人地址（货物地址）")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ShippingAddress { get; set; }

        /// <summary>
        /// 收货人姓名（多卸地保存最后一个）
        /// </summary>            
        [Display(Name = "收货人姓名（多卸地保存最后一个）")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string Consignee { get; set; }

        /// <summary>
        /// 收货人性别
        /// </summary>
        [Display(Name = "收货人性别")]
        public ContacterGenderType ConsigneeGender { get; set; }
        /// <summary>
        /// 收货人电话
        /// </summary>            
        [Display(Name = "收货人电话")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ConsigneePhone { get; set; }

        /// <summary>
        /// 收货人地址（最终目的地）
        /// </summary>            
        [Display(Name = "收货人地址（最终目的地）")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ConsigneeAddress { get; set; }

        /// <summary>
        /// 货物照片
        /// </summary>            
        [Display(Name = "货物照片")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string GoodsPhoto { get; set; }

        /// <summary>
        /// 货物名称
        /// </summary>            
        [Display(Name = "货物名称")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string GoodsName { get; set; }

        /// <summary>
        /// 货物重量
        /// </summary>            
        [Display(Name = "货物重量")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? GoodsWeight { get; set; }

        /// <summary>
        /// 货物体积
        /// </summary>            
        [Display(Name = "货物体积")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? GoodsVolume { get; set; }

        /// <summary>
        /// 货物长度
        /// </summary>            
        [Display(Name = "货物长度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? GoodsLength { get; set; }

        /// <summary>
        /// 货物宽度
        /// </summary>            
        [Display(Name = "货物宽度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? GoodsWidth { get; set; }

        /// <summary>
        /// 货物高度
        /// </summary>            
        [Display(Name = "货物高度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? GoodsHeight { get; set; }

        /// <summary>
        /// 付费方式
        /// </summary>            
        [Display(Name = "付费方式")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string PayMode { get; set; }

        /// <summary>
        /// 预约订单
        /// </summary>            
        [Display(Name = "预约订单")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool IsBook { get; set; }

        /// <summary>
        /// 运输业务Id
        /// </summary>            
        [Display(Name = "运输业务Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int VehicleTransportBusinessConfigId { get; set; }

        /// <summary>
        /// 运输业务
        /// </summary>            
        [Display(Name = "运输业务")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string TransportBusiness { get; set; }

        /// <summary>
        /// 运输业务
        /// </summary>            
        [Display(Name = "运输业务")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string TransportBusinessStr { get; set; }

        /// <summary>
        /// 套餐业务类型
        /// </summary>            
        [Display(Name = "套餐业务类型")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteBusinessType { get; set; }

        /// <summary>
        /// 套餐业务名称
        /// </summary>            
        [Display(Name = "套餐业务名称")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteBusinessName { get; set; }

        /// <summary>
        /// 车辆套餐业务配置Id
        /// </summary>            
        [Display(Name = "车辆套餐业务配置Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? VehicleSuiteBusinessConfigId { get; set; }

        /// <summary>
        /// 套餐名称
        /// </summary>            
        [Display(Name = "套餐名称")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteName { get; set; }

        /// <summary>
        /// 车辆业务映射Id
        /// </summary>            
        [Display(Name = "车辆业务映射Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? VehicleBusinessMappingId { get; set; }

        /// <summary>
        /// 车辆类型Id
        /// </summary>            
        [Display(Name = "车辆类型Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int VehicleTypeId { get; set; }

        /// <summary>
        /// 车型名称
        /// </summary>            
        [Display(Name = "车型名称")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string VehicleTypeName { get; set; }

        /// <summary>
        /// 车型分类（对应字典引用检索键）
        /// </summary>            
        [Display(Name = "车型分类（对应字典引用检索键）")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string VehicleCategory { get; set; }

        /// <summary>
        /// 运费Id
        /// </summary>            
        [Display(Name = "运费Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? FreightConfigurationId { get; set; }

        /// <summary>
        /// 运费扩展Id
        /// </summary>            
        [Display(Name = "运费扩展Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? FreightConfigurationExtentionId { get; set; }

        /// <summary>
        /// 骑手运费配置Id
        /// </summary>            
        [Display(Name = "骑手运费配置Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? HorsemanFreightConfigurationId { get; set; }

        /// <summary>
        /// 骑手运费扩展Id
        /// </summary>            
        [Display(Name = "骑手运费扩展Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? HorsemanFreightExtentionId { get; set; }

        /// <summary>
        /// 保价配置Id
        /// </summary>            
        [Display(Name = "保价配置Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? InsuredConfigId { get; set; }

        /// <summary>
        /// 起步价
        /// </summary>            
        [Display(Name = "起步价")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? StartPrice { get; set; }

        /// <summary>
        /// 起步重量
        /// </summary>            
        [Display(Name = "起步重量")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? StartWeight { get; set; }

        /// <summary>
        /// 起步里程
        /// </summary>            
        [Display(Name = "起步里程")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? StartMileage { get; set; }

        /// <summary>
        /// 续程数量
        /// </summary>            
        [Display(Name = "续程数量")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? ContinueMileage { get; set; }

        /// <summary>
        /// 续重数量
        /// </summary>            
        [Display(Name = "续重数量")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? ContinueWeight { get; set; }

        /// <summary>
        /// 续程价格
        /// </summary>            
        [Display(Name = "续程价格")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? ContinueMileagePrice { get; set; }

        /// <summary>
        /// 续重价格
        /// </summary>            
        [Display(Name = "续重价格")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? ContinueWeightPrice { get; set; }

        /// <summary>
        /// 续程金额
        /// </summary>            
        [Display(Name = "续程金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? ContinueMileageAmount { get; set; }

        /// <summary>
        /// 续重金额
        /// </summary>            
        [Display(Name = "续重金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? ContinueWeightAmount { get; set; }

        /// <summary>
        /// 特殊服务标题
        /// </summary>            
        [Display(Name = "特殊服务标题")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SpecificServiceTitleStr { get; set; }

        /// <summary>
        /// 特殊服务费金额
        /// </summary>            
        [Display(Name = "特殊服务费金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? SpecificServiceAmount { get; set; }

        /// <summary>
        /// 搬家规格服务（逗号分隔规格与服务）
        /// </summary>            
        [Display(Name = "搬家规格服务（逗号分隔规格与服务）")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string MoveHouseSpecificationService { get; set; }

        /// <summary>
        /// 搬家服务金额
        /// </summary>            
        [Display(Name = "搬家服务金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? MoveHouseServiceAmount { get; set; }

        /// <summary>
        /// 适合人群标题
        /// </summary>            
        [Display(Name = "适合人群标题")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteForCrowdTitle { get; set; }

        /// <summary>
        /// 适合人群备注
        /// </summary>            
        [Display(Name = "适合人群备注")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteForCrowdRemark { get; set; }

        /// <summary>
        /// 套餐服务标题
        /// </summary>            
        [Display(Name = "套餐服务标题")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteServiceTitle { get; set; }

        /// <summary>
        /// 套餐服务备注
        /// </summary>            
        [Display(Name = "套餐服务备注")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string SuiteServiceRemark { get; set; }

        /// <summary>
        /// 搬运服务费金额
        /// </summary>            
        [Display(Name = "搬运服务费金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? CarryServiceAmount { get; set; }

        /// <summary>
        /// 套餐优惠卷金额
        /// </summary>            
        [Display(Name = "套餐优惠卷金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? SuiteCouponAmount { get; set; }

        /// <summary>
        /// 优惠金额
        /// </summary>            
        [Display(Name = "优惠金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? CouponAmount { get; set; }

        /// <summary>
        /// 包装材料标题
        /// </summary>            
        [Display(Name = "包装材料标题")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string PackingTitleStr { get; set; }

        /// <summary>
        /// 包装材料金额
        /// </summary>            
        [Display(Name = "包装材料金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? PackingAmount { get; set; }

        /// <summary>
        /// 夜间运费订单抽取比例
        /// </summary>            
        [Display(Name = "夜间运费订单抽取比例")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? NightFreightOrderExtractProportion { get; set; }

        /// <summary>
        /// 夜间运费加收金额
        /// </summary>            
        [Display(Name = "夜间运费加收金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? NightFreightAdditionalAmount { get; set; }

        /// <summary>
        /// 保价货物价值凭证
        /// </summary>            
        [Display(Name = "保价货物价值凭证")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string InsuredPriceCertificates { get; set; }

        /// <summary>
        /// 保价金额(货物保价金额)
        /// </summary>            
        [Display(Name = "保价金额(货物保价金额)")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InsuredPrice { get; set; }

        /// <summary>
        /// 保价金额的千分之10，最低10元
        /// </summary>            
        [Display(Name = "保价金额的千分之10，最低10元")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InsuredPriceCharge { get; set; }

        /// <summary>
        /// 保价金额超过上限
        /// </summary>            
        [Display(Name = "保价金额超过上限")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool? IsInsuredPriceHigh { get; set; }

        /// <summary>
        /// 保价索赔重量
        /// </summary>            
        [Display(Name = "保价索赔重量")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? InsuredClaimWeight { get; set; }

        /// <summary>
        /// 保价索赔件数
        /// </summary>            
        [Display(Name = "保价索赔件数")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? InsuredClaimCount { get; set; }

        /// <summary>
        /// 保价索赔金额
        /// </summary>            
        [Display(Name = "保价索赔金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InsuredClaimPay { get; set; }

        /// <summary>
        /// 代收货款金额
        /// </summary>            
        [Display(Name = "代收货款金额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? CodCost { get; set; }

        /// <summary>
        /// 代收货款费用
        /// </summary>            
        [Display(Name = "代收货款费用")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? CodCharge { get; set; }

        /// <summary>
        /// 代收货款商品价值凭证
        /// </summary>            
        [Display(Name = "代收货款商品价值凭证")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CodGoodsValueCertificates { get; set; }

        /// <summary>
        /// 保价金额总额(货物保价金额)
        /// </summary>            
        [Display(Name = "保价金额总额(货物保价金额)")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InsuredPriceAmount { get; set; }

        /// <summary>
        /// 保价金额总额的千分之10，最低10元
        /// </summary>            
        [Display(Name = "保价金额总额的千分之10，最低10元")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InsuredPriceChargeAmount { get; set; }

        /// <summary>
        /// 超时索赔金额总额
        /// </summary>            
        [Display(Name = "超时索赔金额总额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? TimeoutClaimPayAmount { get; set; }

        /// <summary>
        /// 保价索赔金额总额
        /// </summary>            
        [Display(Name = "保价索赔金额总额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InsuredClaimPayAmount { get; set; }

        /// <summary>
        /// 代收货款金额总额
        /// </summary>            
        [Display(Name = "代收货款金额总额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? CodCostAmount { get; set; }

        /// <summary>
        /// 代收货款费用总额
        /// </summary>            
        [Display(Name = "代收货款费用总额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? CodChargeAmount { get; set; }

        /// <summary>
        /// 打赏金额（此金额不参与订单总价）
        /// </summary>            
        [Display(Name = "打赏金额（此金额不参与订单总价）")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? MusangAmount { get; set; }

        /// <summary>
        /// 发货地省份Code
        /// </summary>            
        [Display(Name = "发货地省份Code")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ProvinceCode { get; set; }

        /// <summary>
        /// 发货地省
        /// </summary>            
        [Display(Name = "发货地省")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ProvinceName { get; set; }

        /// <summary>
        /// 发货地市Code
        /// </summary>            
        [Display(Name = "发货地市Code")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CityCode { get; set; }

        /// <summary>
        /// 发货地市
        /// </summary>            
        [Display(Name = "发货地市")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CityName { get; set; }

        /// <summary>
        /// 发货地区县Code
        /// </summary>            
        [Display(Name = "发货地区县Code")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CountyCode { get; set; }

        /// <summary>
        /// 发货地区县
        /// </summary>            
        [Display(Name = "发货地区县")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CountyName { get; set; }

        /// <summary>
        /// 发货地经度
        /// </summary>            
        [Display(Name = "发货地经度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public double Longitude { get; set; }

        /// <summary>
        /// 发货地纬度
        /// </summary>            
        [Display(Name = "发货地纬度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public double Latitude { get; set; }

        /// <summary>
        /// 最终目的地省份Code
        /// </summary>            
        [Display(Name = "最终目的地省份Code")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string EndProvinceCode { get; set; }

        /// <summary>
        /// 最终目的地省
        /// </summary>            
        [Display(Name = "最终目的地省")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string EndProvinceName { get; set; }

        /// <summary>
        /// 最终目的地市Code
        /// </summary>            
        [Display(Name = "最终目的地市Code")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string EndCityCode { get; set; }

        /// <summary>
        /// 最终目的地市
        /// </summary>            
        [Display(Name = "最终目的地市")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string EndCityName { get; set; }

        /// <summary>
        /// 最终目的地区县Code
        /// </summary>            
        [Display(Name = "最终目的地区县Code")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string EndCountyCode { get; set; }

        /// <summary>
        /// 最终目的地区县
        /// </summary>            
        [Display(Name = "最终目的地区县")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string EndCountyName { get; set; }

        /// <summary>
        /// 最终目的地经度
        /// </summary>            
        [Display(Name = "最终目的地经度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public double EndLongitude { get; set; }

        /// <summary>
        /// 最终目的地纬度
        /// </summary>            
        [Display(Name = "最终目的地纬度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public double EndLatitude { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>            
        [Display(Name = "创建时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 预约时间
        /// </summary>            
        [Display(Name = "预约时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? BookTime { get; set; }

        /// <summary>
        /// 完成时间
        /// </summary>            
        [Display(Name = "完成时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? CompleteTime { get; set; }

        /// <summary>
        /// 给司机捎句话
        /// </summary>            
        [Display(Name = "给司机捎句话")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string DriverRemark { get; set; }

        /// <summary>
        /// 高德配置模式
        /// </summary>            
        [Display(Name = "高德配置模式")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int MapTruckModeId { get; set; }

        /// <summary>
        /// 高德配置卡车类型
        /// </summary>            
        [Display(Name = "高德配置卡车类型")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int MapTruckTypeId { get; set; }

        /// <summary>
        /// 车辆Id
        /// </summary>            
        [Display(Name = "车辆Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? VehicleId { get; set; }

        /// <summary>
        /// 车牌号
        /// </summary>            
        [Display(Name = "车牌号")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string VehicleNo { get; set; }

        /// <summary>
        /// 订单状态
        /// </summary>            
        [Display(Name = "订单状态")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 保价服务
        /// </summary>            
        [Display(Name = "保价服务")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool IsInsuredPrice { get; set; }

        /// <summary>
        /// 代收货款服务
        /// </summary>            
        [Display(Name = "代收货款服务")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool IsCod { get; set; }

        /// <summary>
        /// 回单服务
        /// </summary>            
        [Display(Name = "回单服务")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool IsReceipt { get; set; }

        /// <summary>
        /// 回单照片(原始)
        /// </summary>            
        [Display(Name = "回单照片(原始)")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ReceiptPhoto { get; set; }

        /// <summary>
        /// 回单签收照片
        /// </summary>            
        [Display(Name = "回单签收照片")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string ReceiptAcceptancePhoto { get; set; }

        /// <summary>
        /// 开发票
        /// </summary>            
        [Display(Name = "开发票")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool IsInvoice { get; set; }

        /// <summary>
        /// 订单总额
        /// </summary>            
        [Display(Name = "订单总额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? OrderAmount { get; set; }

        /// <summary>
        /// 运费金额总额
        /// </summary>            
        [Display(Name = "运费金额总额")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? FreightCostAmount { get; set; }

        /// <summary>
        /// 总距离长度
        /// </summary>            
        [Display(Name = "总距离长度")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal TotalDistanceLength { get; set; }

        /// <summary>
        /// 通知司机时间
        /// </summary>            
        [Display(Name = "通知司机时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? NotifyDriveTime { get; set; }

        /// <summary>
        /// 司机接单时间
        /// </summary>            
        [Display(Name = "司机接单时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? DriveOrderPromising { get; set; }

        /// <summary>
        /// 车辆出发时间
        /// </summary>            
        [Display(Name = "车辆出发时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? VehicleStartOutTime { get; set; }

        /// <summary>
        /// 取消订单时间
        /// </summary>            
        [Display(Name = "取消订单时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? CloseOrderTime { get; set; }

        /// <summary>
        /// 取消订单原因
        /// </summary>            
        [Display(Name = "取消订单原因")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CloseOrderContent { get; set; }

        /// <summary>
        /// 发票税金
        /// </summary>            
        [Display(Name = "发票税金")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public decimal? InvoiceAmount { get; set; }

        /// <summary>
        /// 发货人付款时间
        /// </summary>            
        [Display(Name = "发货人付款时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? ShippingPayTime { get; set; }

        /// <summary>
        /// 收货人付款时间
        /// </summary>            
        [Display(Name = "收货人付款时间")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public DateTime? ConsigneePayTime { get; set; }

        /// <summary>
        /// 已结算
        /// </summary>            
        [Display(Name = "已结算")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public bool IsSettlement { get; set; }

        /// <summary>
        /// 关闭操作人
        /// </summary>            
        [Display(Name = "关闭操作人")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? CloseEditerId { get; set; }

        /// <summary>
        /// 关闭操作人
        /// </summary>            
        [Display(Name = "关闭操作人")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CloseEditer { get; set; }

        /// <summary>
        /// 备注
        /// </summary>            
        [Display(Name = "备注")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string Remark { get; set; }

        /// <summary>
        /// 指派人Id
        /// </summary>            
        [Display(Name = "指派人Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? AssignEditerId { get; set; }

        /// <summary>
        /// 指派人
        /// </summary>            
        [Display(Name = "指派人")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string AssignEditer { get; set; }

        /// <summary>
        /// 部门Id
        /// </summary>            
        [Display(Name = "部门Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? DepartmentId { get; set; }

        /// <summary>
        /// 部门名称
        /// </summary>            
        [Display(Name = "部门名称")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string DepartmentName { get; set; }

        /// <summary>
        /// 公司Id
        /// </summary>            
        [Display(Name = "公司Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public int? CompanyId { get; set; }

        /// <summary>
        /// 公司名称
        /// </summary>            
        [Display(Name = "公司名称")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public string CompanyName { get; set; }

        /// <summary>
        /// 代理商Id
        /// </summary>            
        [Display(Name = "代理商Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long AgentRecordId { get; set; }

        /// <summary>
        /// 一级代理商Id
        /// </summary>            
        [Display(Name = "一级代理商Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? OneAgentRecordId { get; set; }

        /// <summary>
        /// 二级代理商Id
        /// </summary>            
        [Display(Name = "二级代理商Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? TwoAgentRecordId { get; set; }

        /// <summary>
        /// 围栏Id
        /// </summary>            
        [Display(Name = "围栏Id")]
        [Required(ErrorMessage = "{0} 不能为空")]
        public long? FenceId { get; set; }


    }
}
